package com.dyz.wsw.domain.market.service;

import com.dyz.wsw.common.pojo.page.PageData;
import com.dyz.wsw.domain.market.pojo.MarketCategory;
import com.dyz.wsw.domain.market.pojo.MarketCard;
import reactor.core.publisher.Mono;

import java.util.List;

/**
 * @author dyz
 * Time 2024/6/9 19:59
 */
public interface MarketService {

    /**
     * 根据目录id查找所有模块信息
     * @param cId 目录id
     * @param pageNum 指定页数
     * @param pageSize 请求行数
     * @return 分类下的所有模块信息
     */
    Mono<PageData<MarketCard>> getCardsByCId(Long cId, Integer pageNum, Integer pageSize);

    /**
     * 查询所有分类目录信息
     * @return 所有分类目录信息
     */
    Mono<List<MarketCategory>> findAllCategory();


    /**
     * 随机查找请求数量的卡片
     * @param count 请求数量
     * @return 找到的卡片
     */
    Mono<List<MarketCard>> getRandomCards(Integer count);

}
